Flexible and Optimized IDL Compilation for Distributed Applications

نویسندگان

  • Eric Eide
  • Jay Lepreau
  • James L. Simister
چکیده

The author of a distributed system is often faced with a dilemma when writing the system's communication code. If the code is written by hand (e.g., using Active Messages) or partly by hand (e.g., using mpi) then the speed of the application may be maximized, but the human eeort required to implement and maintain the system is greatly increased. On the other hand, if the code is generated using a high-level tool (e.g., a corba idl compiler) then programmer eeort will be reduced , but the performance of the application may be intolerably poor. The tradeoo between system performance and development eeort arises because existing communication middleware is ineecient, imposes excessive presentation layer overhead, and therefore fails to expose much of the underlying network performance to application code. Moreover, there is often a mismatch between the desired communication style of the application (e.g., asynchronous message passing) and the communication style of the code produced by an idl compiler (synchronous remote procedure call). We believe that this need not be the case, but that established optimizing compiler technology can be applied and extended to attack these domain-speciic problems. We have implemented Flick, a exible and optimizing idl compiler, and are using it to explore techniques for producing high-performance code for distributed and parallel applications. Flick produces optimized code for marshaling and unmarshaling data; experiments show that Flick-generated stubs can marshal data between 2 and 17 times as fast as stubs produced by other idl compilers. Further, because Flick is implemented as a \kit" of components, it is possible to extend the compiler to produce stylized code for many diierent application interfaces and underlying transport layers. In this paper we outline a novel approach for producing \decomposed" stubs for a distributed global memory service.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Flexible IDL compilation for complex communication patterns

Distributed applications are complex by nature, so it is essential that there be effective software development tools to aid in the construction of these programs. Commonplace “middleware” tools, however, often impose a tradeoff between programmer productivity and application performance. For instance, many CORBA IDL compilers generate code that is too slow for high-performance systems. More im...

متن کامل

Mockingbird: Flexible Stub Compilation from Pairs of Declarations

Mockingbird is a prototype tool for developing interlanguage and distributed applications. It compiles stubs from pairs of interface declarations, allowing existing data types to be reused on both sides of every interface. Other multilanguage stub compilers impose data types on the application, complicating development. Mockingbird supports C/C++, Java, and CORBA IDL, and can be extended to oth...

متن کامل

Optimizing a CORBA IIOP Protocol Engine for Minimal Footprint Multimedia Systems

Communication software for hand-held devices must be flexible and efficient to deliver the necessary Quality of Service (QoS) to multimedia applications such as real-time audio and video, video on-demand, electronic mail and fax, and Internet telephony. CORBA Object Request Brokers (ORBs) are an emerging middleware standard targeted for distributed applications. The stringent memory constraints...

متن کامل

Towards a Dynamic CORBA Component Platform

Distributed object computing (DOC) middleware, even if commonly used, has several drawbacks to support large and complex distributed applications: no visibility of distributed object interconnections, no implementation separation between business logic and system services, and no application deployment process. In response to this, DOC middleware is evolving to distributed component computing (...

متن کامل

PLDI ' 97 Flick : A Flexible , Optimizing IDL

Interface deenition language (IDL) compilers generate \stub functions" that provide separate communicating processes with the abstraction of local object invocation or procedure call. Unfortunately, these compilers have not kept pace with recent advances in fast network technologies and component-based software design. Typical IDL compilers do little optimization because they assume that interp...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998